The present invention relates to client/server processing, and in particular, to client/server processing by proxy.
Portions of the disclosure of this patent document contain material that is subject to copyright protection. The copyright owner has no objection to the facsimile reproduction by anyone of the patent document or the patent disclosure as it appears in the Patent and Trademark Office file or records, but otherwise reserves all copyright rights whatsoever. Sun, Sun Microsystems, the Sun logo, Solaris, Java, JavaOS, JavaStation, HotJava Views and all Java-based trademarks and logos are trademarks or registered trademarks of Sun Microsystems, Inc. in the United States and other countries. All SPARC trademarks are used under license and are trademarks of SPARC International, Inc. in the United States and other countries. Products bearing SPARC trademarks are based upon an architecture developed by Sun Microsystems, Inc.
There are times when a computer user uses more than one type of computer platform. A computer platform is the combination of the computer hardware (processor) and operating system that comprises a particular computer system. For example, a computer system with a Sparc processor manufactured by Sun Microsystems and running the Solaris or Unix operating system is a platform, A computer with an Intel processor and running the operating system known as Windows is considered to be another platform. An Intel computer running the DOS operating system is considered to be another platform. Other platforms include Motorola processor based computers.
Consider a user using multiple platforms all connected via a network. The user may be in the position of having a file on a first computer platform that can only be processed on a second computer platform. This can occur, for example, when a user has an email account on the first platform and receives mail that includes a file from another platform, the user may need to transfer the file to the second platform before being able to view the file. This is time consuming and frustrating to the user.
To alleviate this problem, existing network systems provide server computers capable of processing data files requiring programs that are incompatible with the processing platform of one or more client computers. Such server computers can comprise dedicated or emulator server computers connected to the communication link, and can be within close spatial proximity of client computers utilized by users for convenience. However, a major disadvantage of such systems is that the user must transfer and locate a desired data file at one of such server computers. Specifically, in the above example, the user must utilize the server computer to locate the desired data file on a storage device in the network, and launch a required program for processing the data file which is compatible with the processing platform of the server computer.
There is, therefore, a need for a method and system for a user at a client computer to request processing of user selected information by a server computer using simple and efficient steps.
In one embodiment, the present invention provides a client/server computer system, comprising: a communication link; a plurality of server computers including a dual-role proxy server computer connected to the communication link; a storage device connected to the communication link for storing information; and at least one client computer connected to the communication link. The client computer generates requests to the proxy server computer for processing certain information on the storage device. In response, the proxy server computer accesses said information on the storage device and associates program instructions to the information for processing the information. Thereafter, the proxy server computer processes the information according to the program instructions.
The client computer includes a user interface module for: (1) allowing a user to select said information on the data storage device and to specify the type of processing for said information, and (2) generating a request to the proxy server computer, wherein the request includes data identifying said information and the type of processing specified by the user. Further, the proxy server computer includes an association module for selecting the program instructions appropriate for processing said information. The proxy server computer further includes an access module for locating and accessing the information on the storage device via the communication link. As such, once the user locates the desired information on the storage device via the client computer, the client computer requests the proxy server computer server selected by the user to process the user selected information with the appropriate program instructions for the selected information ate the proxy server computer.
The client/server system can include a plurality of proxy server computers connected to the communication link; and the client computer generates one or more requests to one or more of the proxy server computers. Each request is directed to a proxy server computer for processing certain information on the storage device. In response the selected proxy server computer accesses said information on the storage device and associates program instructions to said information for processing the information. Thereafter, the proxy server computer processes said information according to the program instructions. Preferably, the client program user interface module allows the user to select said information on the data storage device and specify the type of processing for said information and select a proxy server computer. The client computer then generates a request to the specified proxy server computer, wherein the request includes data identifying said information and the type of processing specified by the user.